package 字符流;

import org.junit.Test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 从内存中写出数据到硬盘的文件里。
 * <p>
 * 说明：
 * 1.输出操作，对应的File可以不存在的。并不会报异常
 * 2.
 * File对应的硬盘中的文件如果不存在，在输出的过程中，会自动创建此文件。
 * File对应的硬盘中的文件如果存在：
 * 如果流使用的构造器是：FileWriter(file,false) / FileWriter(file):对原有文件的覆盖
 * 如果流使用的构造器是：FileWriter(file,true):不会对原有文件覆盖，而是在原有文件基础上追加内容
 */


public class 向文件中写入数据 {
    FileWriter fw1 = null;
    FileWriter fw2 = null;

    @Test
    public void test1() {
        try {
            //创建存储数据的文件对象（这个文件可以在硬盘上实际存在，也可以不存在），写出数据时，会自动创建文件
            File f1 = new File("write.txt");
            //指定输出流
            //fw1=new FileWriter(f1,true);
            fw2 = new FileWriter(f1, false);
            //输出数据
//            fw1.write("你好，xc。\n");
//            fw1.write("你好，刘明福。");
            fw2.write("天宫空间站");

        } catch (Exception e) {
            System.out.println("代码出错！");
        } finally {
            //关闭输出流资源
            if (fw1 != null) {
                try {
                    fw1.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (fw2 != null) {
                try {
                    fw2.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
